package demo06_Builder;


import demo06_Builder.model.Direct;
import demo06_Builder.model.FullModePlayerBuilder;
import demo06_Builder.model.RememberModePlayerBuilder;
import demo06_Builder.model.SimpleModePlayerBuilder;

/**
 * Sunny软件公司欲开发一个视频播放软件，为了给用户使用提供方便，该播放软件提供多 种界面显示模式，
 * 如完整模式、精简模式、记忆模式、网络模式等。在不同的显示模式 下主界面的组成元素有所差异，
 * 如在完整模式下将显示菜单、播放列表、主窗口、控制条等，在精简模式下只显示主窗口和控制条，
 * 而在记忆模式下将显示主窗口、控制条、 收藏列表等。
 * 尝试使用建造者模式设计该软件。
 */
public class Builer01 {



    public static void main(String[] args) {
        Direct direct = new Direct(new FullModePlayerBuilder());
        System.out.println(direct.build());

        Direct direct2 = new Direct(new SimpleModePlayerBuilder());
        System.out.println(direct2.build());

        Direct direct3 = new Direct(new RememberModePlayerBuilder());
        System.out.println(direct3.build());
    }

}
